Method for replacing 3D objects in 2D environment

ABSTRACT

Example systems and methods for virtual visualization of a three-dimensional (3D) model of an object in a two-dimensional (2D) environment. The method may include superimposing a first 3D model of an object onto the 2D environment, and replacing the first 3D model of the object with a second 3D model of an object. Further, the method may include superimposing a smart 3D model of an object onto the 2D environment. Additionally, the method may include a code or mark to identify images of the 2D environment to which 3D models of objects have been superimposed.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. Non-Provisionalapplication Ser. No. 14/710,565 entitled “METHOD FOR REPLACING 3DOBJECTS IN 2D ENVIRONMENT” filed on May 12, 2015. U.S. Non-Provisionalapplication Ser. No. 14/710,565 claims priority to U.S. ProvisionalPatent Application No. 61/992,759 entitled “METHOD FOR FORMING WALLS TOALIGN 3D OBJECTS IN 2D ENVIRONMENT”, filed on May 13, 2014. U.S.Non-Provisional application Ser. No. 14/710,565 also claims priority toU.S. Provisional Patent Application No. 61/992,629 entitled “METHOD FORPROVIDING SCALE TO ALIGN 3D OBJECTS IN 2D ENVIRONMENT”, filed on May 13,2014. U.S. Non-Provisional application Ser. No. 14/710,565 claimsfurther priority to U.S. Provisional Patent Application No. 61/992,719entitled “METHOD FOR PROVIDING A PROJECTION TO ALIGN 3D OBJECTS IN 2DENVIRONMENT”, filed May 13, 2014. U.S. Non-Provisional application Ser.No. 14/710,565 claims further priority to U.S. Provisional PatentApplication No. 61/992,774 entitled “METHOD FOR MOVING AND ALIGNING 3DOBJECTS IN A PLANE WITHIN THE 2D ENVIRONMENT”, filed May 13, 2014. U.S.Non-Provisional application Ser. No. 14/710,565 claims further priorityto U.S. Provisional Patent Application No. 61/992,746 entitled “METHODFOR REPLACING 3D OBJECTS IN 2D ENVIRONMENT”, filed May 13, 2014. U.S.Non-Provisional application Ser. No. 14/710,565 claims further priorityto U.S. Provisional Patent Application No. 61/992,665 entitled “METHODFOR INTERACTIVE CATALOG FOR 3D OBJECTS WITHIN THE 2D ENVIRONMENT”, filedMay 13, 2014. The entire contents of each of the above-listedapplications are hereby incorporated by reference for all purposes.

BACKGROUND AND SUMMARY

Interior design may involve developing and evaluating a design for aroom or environment. For example, a designer may wish to positionvarious objects, including furniture, lighting fixtures, and wallhangings, within a two-dimensional (2D) environment of an interior room.Conventional interior design tools may enable a user to first form athree-dimensional (3D) modeled space, representing the 2D environmentand then position a 3D modeled objects within the 3D modeled space.Another option is to use a scrapbook method and form a collection of 2Dimages of products one would like to visualize in the 2D environment.

The inventors herein have recognized various issues with the abovemethods. Namely, although objects may be positioned independently withinthe 2D environment, it may be difficult to precisely replace an objectin the 2D environment.

One example embodiment, may include a method for replacing the 3D modelof the object in the environment, comprising selecting a first 3D objectin the 2D environment, selecting a second 3D object from a library of 3Dobjects and replacing the first 3D object with the second 3D object. Forexample, if the user is trying to decide whether a round table or arectangular table may fit better within the user's living space (the 2Denvironment), the user may superimpose the round table on the livingspace and then, replace the round table with the rectangular table.After visualizing both the tables in the living space, the user mayfinalize his choice.

Another example embodiment, may include a method comprising replacing a3D object in a 2D environment, comprising, selecting the plane, such asa wall plane or a ground plane or a top plane, selecting a 3D objectpositioned in one of those planes and replacing the selected 3D objectwith a new 3D object belonging to the same plane as the selected object.

It should be understood that the summary above is provided to introducein simplified form a selection of concepts that are further described inthe detailed description. It is not meant to identify key or essentialfeatures of the claimed subject matter, the scope of which is defineduniquely by the claims that follow the detailed description.Furthermore, the claimed subject matter is not limited toimplementations that solve any disadvantages noted above or in any partof this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating the overall system forvisualization of 3D models of objects in a 2D environment, in accordancewith various embodiments.

FIG. 2 is a block diagram showing various modules of an engine forvisualization of 3D models of objects in the 2D environment, inaccordance with various embodiments.

FIGS. 3A, 3B and 3C are example representations of a 2D environment.

FIG. 4 is an example flowchart for a method of replacing an object inthe 2D environment.

FIG. 5 illustrates a method to distinguish between an image of the 2Denvironment, with or without addition of scale and perspective, andsuperimposed 3D models of object.

FIGS. 6A, 6B, 6C, 6D and 6E are example representations of another 2Denvironment.

FIGS. 7A, 7B, and 7C illustrate an example of a smart 3D model of anobject in the 2D environment.

FIG. 8 illustrates an example of a computer network system, in whichvarious embodiments may be implemented.

DETAILED DESCRIPTION

The present description relates to visualization and adding of 3D modelsof objects to a 2D environment, wherein the 2D environment is a realenvironment represented by a photo or video and other graphicalrepresentations. A user may import photographic images, digital images,video images, and other graphical representations of the 2D environment.Further, the 2D environment may include existing graphical materials orgraphical materials captured as a still image or a live feed image. The2D environment may serve as the background environment for adding a 3Dmodel of an object.

The 3D object is associated with a set of data which includes a definedset of parameters relevant to the 3D object. The parameters may includeattributes, instructions, and other such scripts associated with andessential for graphical use of the 3D object. Characteristics of the 3Dobject, interaction between object entities may be analyzed with suchassociated data. The set of data associated with the 3D object mayinclude geometric attributes, depth value, color value, and such otherproperties. For example, geometric attributes of the 3D object, such asa chair, may include height and width information. If a user decides toplace the chair near a table, already present in the 2D environment, theheight and width information for the chair may help the user in precisealigning.

The object information data may also include metadata encoding one ormore of a set of parameters relevant to the 3D object, manufacturer'sguidelines, regulations and guidelines governing the 3D object, safetyguidelines for the 3D object, and any other relevant informationspecific to the 3D object.

The object information data may include metadata defining the behaviorof the 3D object within the 2D environment. For example, a 3D object mayinclude metadata defining an object as one of a wall object, ceilingobject, floor object, or combination thereof. The metadata may furtherdefine the placement and movement of the object within the environment.

The object information data may also include metadata encoding aninformation tag. The information tag may include a description of the 3Dobject including dimensions, materials, cost, manufacturer, and otherinformation specific to the 3D object discussed below.

The object information data may also include metadata encoding graphicaldata, spatial data, and other rendering data for superimposing the 3Dobject within the 2D environment. Graphical, spatial, and rendering datamay be processed by a computing device to generate and display the 3Dobject to the user.

The parameters may include attributes, instructions, behaviorcharacteristics, visualizations to be displayed by the 3D object, andother such scripts associated and essential for graphical use of the 3Dobject. For example, the parameters may include, but are not limited to,the physical dimensions of the 3D object, mounting requirements for the3D object, metadata identifying the 3D object as a floor object, wallobject, ceiling object, or combination thereof, power requirements,length of a power cord, and any other relevant information describingthe 3D object.

Additionally, the object information data may include additionalparameters such as manufacturer's guidelines and/or safety guidelinesfor safe and proper installation and operation of the 3D object. Forexample, the object information data may include metadata encoding aminimum clearance or spatial requirement surrounding the 3D object. Theminimum clearance/spatial requirement may be required for adequateventilation of the 3D object, prevention of fire hazards, noise control,clearance of moving parts of the 3D object, or to satisfy any otherpersonal safety, medical safety, or industrial safety standard. As anexample, a display may require 6 inches clear from the cooling fangratings to allow for proper airflow to cool the electric internalswithin the display. As another example, in a medical application, amagnetic resonance imager may generate an electro-magnetic field in anarea surrounding the magnetic resonance imager that may interfere withother electrically powered or magnetically sensitive medical equipment,personal medical equipment such as a pacemaker, and any magneticmaterial that may be drawn to the magnetic resonance imager by magneticattraction. In an industrial application, some industrial equipment havemoving or rotating parts that may extend past the main body of the pieceof industrial equipment. Therefore, to allow for proper operation of theindustrial equipment, other equipment or objects may be located outsidea minimum clearance or spatial requirement surrounding the piece ofindustrial equipment.

In another example, in a restaurant environment, the tables, chairs, andother objects within the restaurant space may be required to be arrangedsuch that a minimum clearance surrounding each object is maintained andthat pathways for traversal are maintained clear and of sufficientdimensions to meet federal and local accommodation codes. Therefore,each chair and each table may include a minimum clearance or spatialrequirement surrounding the table or chair to meet the governingguidelines.

In another example, in a retail environment, retail display fixtures maybe arranged within the retail space such that a minimum clearancesurrounding each fixture may be maintained to allow shoppers to easilymove within the retail space and to meet federal and local accommodationcodes. In addition to satisfaction of the governing access codes, the 3Dmodels of the display fixtures and accompanying merchandise may bearranged within the 2D image of the retail space allowing retailplanners to efficiently design retail merchandising plans, design retailexhibit plans, and then electronically distribute the design plans tothe stores. Further, the retail merchandising teams at the stores maypropose amendments to the design plans that are specific to theavailable retail space within the store accounting for differences dueto the specific architectural design of the store space. Theseamendments may then be reviewed and approved by the retail planners,thereby providing an advantage of an efficient and electronic means ofdistributing, amending, and approving retail merchandising plans.

The object information data may be provided by multiple sources,including but not limited to, one or more of the manufacturer of the 3Dobject, government safety regulations such as provided by theOccupational Safety and Health Administration or other Federal or localgoverning body, federal and local accommodation codes such as theAmericans with Disabilities Act and federal, state, and local firecodes, the user may provide the object information data, objectinformation data may be downloaded from a remote data base, encoded byan asset manager or managing service providing the 3D objects, or anyother suitable means. It will be appreciated that the listed sources ofobject information data are not intended to be limiting.

In some embodiments, the object information data may include one or morespatial requirements. The spatial requirements may exceed the geometricdimensions of the 3D object and govern interactions between the 3Dobject and other object entities. The spatial requirements of a 3Dobject may be specific to the object based upon one or more of amanufacturer's recommendation, imported from a remote database,government regulation, configured by the user, or any other suitablesource.

In some embodiments, the two-dimensional environment may also includeenvironmental information data. The environmental information data mayinclude metadata which may encode one or more of a set of propertiesrelevant to the 2D environment, regulations and guidelines governing the2D environment such as governing access regulations, industrial safetystandards, and governing fire codes, safety guidelines for the 2Denvironment, and any other relevant information specific to the 2Denvironment. The properties encoded by environmental information datamay include one or more of the dimensions of the 2D environment,characteristics of the 2D environment governing the behavior andmovement of 3D objects within the 2D environment, locations of powersupplies and the voltage and frequency supplied, constructioninformation such as location of load bearing members, allowable loadinformation, construction materials, available ventilation, acousticinformation, fixed lighting sources, and any other information relevantto the two-dimensional environment.

The environmental information data may be provided by multiple sourcessuch as one or more of government safety regulations such as provided bythe Occupational Safety and Health Administration or other Federal orlocal governing body, federal and local accommodation codes such as theAmericans with Disabilities Act and federal, state, and local firecodes, the user may provide the object information data, objectinformation data may be downloaded from a remote data base, encoded byan asset manager or managing service providing the 3D objects, or anyother suitable means.

In these embodiments properties of the 2D environment may be retrievedfrom the environmental information data and analyzed to determineinteraction with 3D objects within the 2D environment. As a non-limitingexample, one or more threshold barriers between two planes of the 2Denvironment may be adjusted to satisfy one or more conditions encoded inthe metadata of both the environmental information data and the objectinformation data.

In some embodiments, the physical properties of the 3D object,interaction between object entities, and interactions between objectentities and the 2D environment may be analyzed with such associateddata.

As the data associated with the 3D object is transferred to the 2Denvironment, the 3D object may be visualized in the 2D environment withrespect to scale and perspective of the 2D environment. The 2Denvironment including the 3D object may be referred to as a modeled 2Denvironment. Within the 2D environment, the user may move the 3D objectin a vertical direction, horizontal direction, or in a rotationalmanner. For example, if the 3D object is a display, the user may movethe display in a vertical or horizontal manner on a wall plane of the 2Denvironment; whereas, if the 3D object is a chair on a ground plane ofthe 2D environment, the user may move the chair in a horizontal orrotational manner.

A non-limiting example of a 3D object may be a display. The display maybe any of a television, monitor, computer monitor, or visual arrayincluding, but not limited to, a liquid crystal display (LCD), lightemitting diode (LED) display, organic light emitting diode (OLED)display, cathode based display, or any other display device capable ofproviding a visual image to a viewer. The display may be comprise any ofa plurality of shapes, such as square, rectangular, curved, round, orany suitable geometric shape. Further, the display may include a supportframe, may be frameless, or any other structural form factor known inthe art. The display may be a stand-alone display or one of a pluralityof display units comprising a composite display including multipledisplay units.

Additionally, the user may be connected to various social networkingservices and/or microblogs, such as Facebook™, Twitter™, and other suchnetworking services. Connection to social networking services and/ormicroblogs may allow user to interact with his contacts to share andobtain opinion and feedback on image obtained after placing 3D objectsin 2D environment. Further, the user may also request help fromdesigning services to arrange 3D objects within a given 2D environment.

Visualization and addition of 3D objects to any 2D environment providesample opportunities in various spheres of human life. Spatialrepresentation of 3D objects may help in comprehending and learning,designing and drafting, efficient space management, and accelerateddecision making and planning. The ability to represent virtual 3Dobjects in a real environment can provide further applications, such asselecting furniture for a house, designing kitchen cabinets, selectingdisplay and presentation equipment for conference rooms, presentationlayouts for tradeshow booths, industrial planning and industrialequipment placement, medical equipment placement, and other space anddesign applications.

FIG. 1 is a block diagram illustrating the overall system forvisualization of 3D models of objects in a 2D environment, in accordancewith various embodiments of the present application. FIG. 1B is aschematic illustration of a system for visualization of 3D model ofobjects in a 2D environment. FIG. 2 is a block diagram showing variousmodules of an engine for visualization of 3D models of objects in the 2Denvironment. FIGS. 3A, 3B and 3C are example representations of the 2Denvironment. FIG. 4 is an example flowchart for a method of replacing anobject in the 2D environment. FIG. 5 illustrates a method to distinguishbetween an image of the 2D environment, with or without addition ofscale and perspective, and superimposed 3D model of objects. FIGS. 6A,6B, 6C and 6D are example representations of the 2D environment. FIG. 7illustrates an example of a smart 3D model of an object in the 2Denvironment 800. FIG. 8 illustrates an example of a computer networksystem, in which various embodiments may be implemented.

FIG. 1 illustrates a block diagram of an overall system 100 forvisualization of 3D objects in a 2D environment, in accordance withvarious embodiments of the present disclosure. Overall system 100 mayinclude a user 120, user devices 130, a user interface 140, an engine200 for virtual visualization of 3D models of objects in 2D environment,a network 202, and various web applications 204. The user devices 130may include a mobile phone 132, a personal computer (PC) 134, a personaldigital assistant (PDA) 136, a tablet PC 137, a wearable computer device138 such as Google Glass™ and Recon Jet™, a 3D scanner 139 and the like.The user 120 via user devices 130 interacts with the user interface 140.The user may also directly interact with the user interface viatouchscreen, keyboard, mouse key, touch pad and the like. The engine 200for visualization of 3D objects in 2D environment may comprise of localdevice-based, network-based, or web-based service available on any ofthe user devices 130. The user may further interact with the webapplications 204. The web applications may include social networkingservices.

The user 120 may interact with the user interface 140 via the userdevices 130. The system for virtual visualization of 3D models ofobjects in 2D environment 300 may be implemented on a local device orvia a network-based or web-based service accessible via user devices130. The user 140 may periodically interact with the system for virtualvisualization of 3D models of objects in 2D environment 300 via the userinterface 140 displayed using one of the user devices 130. Additionally,the user 120 may periodically interact with the web application such asa social networking service (including social networks, microblogs, webblogs, and other web resources) via the system for virtual visualizationof 3D models of objects in 2D environment 300 and the network 202 toupload graphics obtained using the system for virtual visualization of3D models of objects in 2D environment 300, communicate with members ofthe social networking service, and so forth.

The user devices 130, in some example embodiments, may include aGraphical User Interface (GUI) for displaying the user interface 140. Ina typical GUI, instead of offering only text menus or requiring typedcommands, the system 200 may present graphical icons, visual indicators,or graphical elements called widgets that may be utilized to allow theuser 120 to interact with the user interface 140. The user devices 130may be configured to utilize icons in conjunction with text, labels, ortext navigation to fully represent the information and actions availableto users.

The network 202 may include the Internet or any other network capable ofcommunicating data between devices. Suitable networks may include orinterface with one or more of, for instance, a local intranet, aPersonal Area Network (PAN), a Local Area Network (LAN), a Wide AreaNetwork (WAN), a Metropolitan Area Network (MAN), a virtual privatenetwork (VPN), a storage area network (SAN), an Advanced IntelligentNetwork (AIN) connection, a synchronous optical network (SONET)connection, Digital Subscriber Line (DSL) connection, an Ethernetconnection, an Integrated Services Digital Network (ISDN) line, a cablemodem, an Asynchronous Transfer Mode (ATM) connection, or an FiberDistributed Data Interface (FDDI) or Copper Distributed Data Interface(CDDI) connection. Furthermore, communications may also include links toany of a variety of wireless networks, including Wireless ApplicationProtocol (WAP), General Packet Radio Service (GPRS), Global System forMobile Communication (GSM), Code Division Multiple Access (CDMA) or TimeDivision Multiple Access (TDMA), cellular phone networks, GlobalPositioning System (GPS), Cellular Digital Packet Data (CDPD), Researchin Motion (RIM), limited duplex paging network, Bluetooth radio, or anIEEE 802.11-based radio frequency network. The network 202 may furtherinclude or interface with any one or more of an RS-232 serialconnection, an IEEE-1394 (Firewire) connection, a Fiber Channelconnection, an IrDA (infrared) port, a Small Computer Systems Interface(SCSI) connection, a Universal Serial Bus (USB) connection or otherwired or wireless, digital or analog interface or connection, mesh. Thenetwork 202 may be a network of data processing nodes that areinterconnected for the purpose of data communication.

A 2D environment may be provided including a 2D image. The 2D image maybe a photograph, line drawing or video. For example, the 2D image may bea picture of a room or part of a room. The 2D image may be apersonalized image captured by a user's hand-held device or othercomputing device. In other examples, the 2D image may be saved orimported from a storage device on a remote server or other device.

Perspective and scale may be added to the 2D image. The perspective andscale may be saved as part of the image such that the 2D image is now acombined image having both the 2D information and perspective and scaleinformation associated with the 2D image.

In some examples and as described in more detail herein, walls may beselectively positioned within the image. Further, in some examples, a 3Dobject may then be positioned within the 2D image with perspective andscale overlay, combined image. The 3D object may be realisticallypositioned within the resulting image based on the perspective and scaleoverlay information. Further, the 3D object may be positioned withinresulting image such that the 3D object may be perceived in threedimensions within the 2D environment.

FIG. 2 illustrates a block diagram for the engine for virtualvisualization of 3D models of objects in 2D environment 300. The enginefor virtual visualization of 3D models of objects in 2D environment 300may include a receiving module 206, an importing module 208, avisualizing module 210, an adding scale and perspective module 211, asuperimposing module 212, an object color/object material replacingmodule 214, a moving module 216, a modify object module 217, a spinningmodule 218, a saving module 224, an uploading module 226 and apurchasing module 228.

Although various modules of the engine for visualization of 3D models ofobjects in 2D environment 300 are shown together, the engine forvisualization of 3D models of objects in 2D environment 300 may beimplemented as a web service, via a distributed architecture, or withina cloud computing environment. The files created with this applicationmay contain perspective, scale and 3D model information in addition tothe 2D graphic background information. The files may be shared, or sentto, or opened on any user devices which may be configured to displaythese files.

The receiving module 206 may be configured to receive inputs from theuser 120 regarding an import request. The import requests may includeuser-specified data regarding a 2D environment, such that the 2Denvironment may be used as a background environment for displaying oneor more 3D models of objects. The importing module 208 may be configuredto import the 2D environment. The 2D environment may be a 2D photographof an interior space such as a living room, or a bedroom, or a kitchenspace, or a bathroom, or a garage, or an office space, and so forth.Additionally, the 2D environment may be a live video feed.

The visualizing module 210 may help the user 120 to visualize theimported 2D environment. The visualizing module 210 may be configured toreceive a superimposing request from the user 120. The superimposingrequest may include object information data related to a 3D object.

The received superimposing request is passed to the superimposing module212, which superimposes the selected 3D object, based on thesuperimposing request onto the 2D environment.

An example 3D object may be a display. The display may be any of aliquid crystal display (LCD), light emitting diode (LED), organic lightemitting diode (OLED), cathode based display, or any other displaycapable of providing a visual image to a viewer. The display may becomprise any of a plurality of shapes, such as square, rectangular,curved, round, or any suitable geometric shape. Further, the display mayinclude a support frame, may be frameless, or any other structural formfactor known in the art. The display may be a stand-alone display or aunit of a composite display including multiple display units.

In addition, the visualizing module 210 may be further configured toreceive a request for object replacement from the user. The objectreplacement request may include object information data or metadataencoding object information data including dimensions, or color, ormaterial type of the 3D object selected from the library of 3D objects.The received object replacement request is passed to the objectreplacing module 214, which changes the object, based on the request.Additionally, the selected 3D object may be replaced by the user 120with another 3D object. For example, the user may replace a large chairwith a small chair in a 2D environment after visualizing both the largechair and the small chair in the 2D environment.

The visualizing module 210 may further help the user 120 to alter viewsettings such as brightness or contrast of the imported 2D environment.Altering the brightness or contrast of the 2D environment may allow theuser to visualize the positioning of the 3D object in the 2D environmentunder more light or less light situations. For example, the user may beable to visualize and appreciate how the 3D object superimposed on the2D environment may look during day time versus night time conditions, orconditions of bright lighting or dim lighting where a lamp or lightfixture is being used. Additionally, the visualizing module 210 may alsohelp the user with directional options, such as a compass or a northfacing arrow to identify the orientation of the 2D environment. The usermay prefer directional options for personal reasons, or aestheticpreference, or for daylight requirement needs. The visualizing module210 may be further configured to receive scale data (defining the scaleof the 2D environment) and the perspective data (defining theperspective of the 2D environment) request from the user. The scale dataand perspective data request is passed on to the adding scale andperspective module 211, which allows the user to adjust the scale andperspective of the 2D environment.

In some examples, a smart object, such as a television or computer(described in more detail below in regards to FIG. 7), may besuperimposed in the two-dimensional environment. The visualizing modulemay be adapted for playback animation of the smart object based on alocation position in the two-dimensional environment. For example, thevisualizing module may display animation of the smart object as it wouldappear in the location within a room. The animation may be any audio orvisual display, including but not limited to live video (adjusted basedon position), or schematic representation of audio or visual display ina room.

The method then moves on to the moving module 216. The moving module 216may be configured to receive an object spinning request for rotationalmovement of the 3D object imported on to the 2D environment. Thespinning request thus received is passed on to the spinning module 218,which allows spinning or any such rotational movement of the 3D objectin the 2D environment. For example, the 3D object inserted onto the 2Denvironment might be a chair or triangular table, and the user mayprefer to precisely orient the chair seat in a particular direction orin case of the triangular table, the user may prefer to the threecorners of the table oriented in a certain preferred directions.

The user may also modify one or more properties of the 3D object bychanging the color, material, and/or dimensions of the 3D object. Themodify object module 217 may be configured to receive a request tochange one or more properties of the 3D object. For example, the modifyobject module 217 may receive the request to change the color of theframing of display to match a color of a wall within the two-dimensionalenvironment. Upon receipt of the request, the modify object module 217may change the color of the display framing to match the wall of thetwo-dimensional environment.

In addition to modifying physical properties of the 3D object, themodify object module 217 may be configured to change the behaviorcharacteristics of the 3D object within the 2D environment. For example,a 3D object such as a chair may include behavior characteristicsconstraining the chair to positions on the floor of the 3D environment.Other 3D objects such as a lamp, may be constrained to positions on thefloor, on a desk, a wall ledge, etc. Additional behavior characteristicsmay include a minimum clearance space around the 3D object, mountingrequirements for the 3D object, length of a power cord/powerrequirements, or any other suitable characteristic or constraint thatmay affect the positioning of the 3D model within a two-dimensionalenvironment. In some embodiments, the modify object module 217 may beconfigured to provide a visualization displayed by the 3D object. Theuser may save the changes made to the 3D object to a local library of 3Dobjects or the changes may be saved to remotely stored 3D objectlibrary.

As the user finalizes the appropriate color, material, positioning andspinning of the selected 3D object within the 2D environment, theresulting image may be uploaded to a social network website,microblogging service, blog or any other website resources by theuploading module 226. Thereby, the user 120 may receive inputs fromcontacts such as family members or friends regarding the resulting imageformed by the 3D object placement in the 2D environment. Withappropriate inputs, the user 120 may choose to alter the resulting imageof the 3D object in the 2D environment. In addition, based on userrequest, the saving module 224 may save the resulting image for futureuse or reference. Alternatively, the user 120 may be highly satisfiedwith the overall look of the 3D object in the 2D environment and decideto purchase the 3D object. In such a situation the purchasing request ispassed to the purchasing module, 228. In some embodiments, a contact ofthe user 120 via social networking websites in the web application 204,may request the user to purchase the 3D object in consideration.

Turning now to FIGS. 3A, 3B and 3C. FIG. 3A illustrates an example 2Denvironment 300. The example 2D environment 300 may include an interiorspace bounded by a wall 304, a wall 306 and a ground plane 302 (e.g. aflooring surface). The example 2D environment may comprise variousobjects such as a wall mirror 340, a table 334 and a display 324. Ofthese objects, the wall mirror 340 may be part of the 2D environment300, while the table 334 and the display 324 may be 3D models of objectssuperimposed on the 2D environment. The user may move the table 334 andthe display 324 as desired but may not be able to move the wall mirror340 since it is part of the 2D environment.

FIG. 3A further includes a library 320. The library 320 may includevarious 3D objects that may be imported onto the 2D environment 300. Asshown in FIGS. 3A-C, the library includes a couch 322, a table 330, astep stool 326, a table 334, a small drawer 328, a chest of drawers 336and the display 324. The library 320 may include but not restricted tothe items illustrated. Additionally, when the 3D object is selected, amenu bar may be displayed indicating if the object selected is a floorobject, a wall object or a ceiling object. A finger icon 394 or othersuitable indicator may be used to select a 3D object from the library320 and superimpose the 3D object onto the 2D environment 300.Alternatively, the user may use key board, or touch pad, or mouse key onone of the user devices 130, to select and drag 3D objects onto the 2Denvironment 300. As illustrated in FIG. 3A, the display 324 adorns thewall 306 of the 2D environment 300 and the wall mirror 340 adorns a wall304 of 2D environment 300. The display is a 3D model superimposed on the2D environment 300, while the wall mirror 340 is part of the 2Denvironment.

The table 334 is placed on the floor 302 of the 2D environment 300. The3D models, such as the display 324 and the table 334, may be furthermoved up or down or sideways or rotated along an axis or along multipleaxes and adjusted in the 2D environment 300 of the room. Further theitems may be positioned one on top of the other. For example, the usermay consider purchasing a vase for the 2D environment 300. In suchcases, the user may select additional 3D objects, in this example, thevase, and position the vase in a way that is practically andaesthetically satisfactory. If the user is not satisfied with theplacement of the vase, the user has the option of deselecting or undoinghis selection of the vase.

The user may decide to replace the table 334 in the 2D environment 300with the table 330 in the library 320. As shown in FIG. 3A, the fingericon 350 or other suitable indicator may be used to select the table 334as the 3D object which may be replaced. As shown in FIG. 3B, dashed linefinger icon 313 shows selection of the table after the finger movesaway. Specifically, a highlight indicator or other suitable indicatormay be used to identify a selection. For example, the table 334 may glowas indicated at 311 when or after selection. Such an indicator mayenable a user to clearly see what object is being replaced or altered.

Further, shown in FIG. 3B, the solid line finger icon or other suitableindicator may then select the table 330 in the library 320 as the 3Dobject to replace the table 334 in the 2D environment 300. Asillustrated in FIG. 3B, the dashed arrow indicates the movement of thefinger icon 394 or other suitable indicator to superimpose the selected3D object, the table 330, to the current position of the table 334. FIG.3C illustrates the final image with the table 334 replaced by the table330 in the 2D environment 300.

Additionally, the table 334 may be replaced by any other floor objectsuch as the step stool 326 or the chest of drawers 336 or the smalldrawer 328, selected from the library 320. Further, the user maydownload additional 3D object images from the network 202. Stillfurther, a contact of the user, such as a family member or friend mayshare a 3D object image with the user via social networking websites asdiscussed for web applications 204. The user may download the image ofthe 3D object and save the image in the library 320 for immediate orfuture applications.

Similar to replacing floor objects, the user may decide to move orreplace a wall object, such as the display 324 on the wall 304. The usermay do so by selecting the display 324 with the finger icon 394 or othersuitable indicator and then move the 3D object in a horizontal, orvertical or a combination of horizontal and vertical directions. If newposition of the display 324 is not satisfactory to the user, the usermay decide to replace the display 324. For example, the user may decideto replace the display with a second display. The 3D model of the seconddisplay may be included in the library 320, or the user may download animage of the second display from a website or a blog or one of thesocial network services, or the user may obtain an image of the seconddisplay with one of the user devices and import the image into thelibrary 320.

In further examples, the user may replace 3D objects in a top plane,such as a ceiling plane. In such examples, the user may desire toreplace existing light fixtures with more aesthetically pleasing orpractically necessary light fixtures. Further, the user may decide toreplace a top plane object such as a ceiling fan with a light fixturefor practical or aesthetic requirements.

FIG. 4 illustrates an example flow chart of a method 400 for positioningand aligning 3D objects in 2D environment. The method 400 may beperformed by processing logic that may comprise hardware (e.g.,programmable logic, microcode, and so forth), software (such as computercode executable on a general-purpose computer system or a specificallyconfigured computer system), or a combination of both. The processinglogic resides at the engine 200 for virtual visualization of 3D modelsof objects in 2D environment, as illustrated in FIG. 2. The method 400may be performed by the various modules discussed above with referenceto FIG. 2. Each of these modules may comprise processing logic.

Method 400 begins at 404 where the user 120 may obtain a 2D environmentaccording to an import request. The receiving module 206 may receive,from the user, scale and perspective data on ground plane at operation406. Similarly, the receiving module 206 may receive, from the user,scale and perspective data on ceiling height at operation 408. The usermay define the ceiling and ground plane by selecting points on the 2Denvironment and at operation 409, method 400 may include determiningwall corners based upon the selected points.

Method 400 continues to operation 410, for positioning 3D models ofobjects. At operation 410, the receiving module 206 may receive arequest to superimpose 3D models of objects onto the 2D environment. Asuperimposing request may include a user selecting a 3D object from alibrary of 3D models of objects (in the engine for virtual visualizationof 3D models of objects in 2D environment 300), from 3D models ofobjects saved or imported by the user, or 3D models of objects obtainedfrom online resources. At operation 412, the 3D models of objects may besuperimposed onto the 2D environment.

At operation 414, if the user may decide to superimpose additional 3Dobjects in 2D environment the method 400 moves to operation 420. If theuser decides to continue without adding more 3D objects to the 2Denvironment, the method 400 moves to operation 432. Method 400 mayinclude operations to replace objects 430 within the 2D environment. Atoperation 432, the user may decide to replace an existing object in the2D environment. If the user continues with replacing 3D object in the 2Denvironment, then at operation 434, the 3D object to be replaced isselected by the user. In some embodiments, the object may be highlightedor otherwise indicated as the to-be-replaced object. The method 400 thenmoves to operation 436 and at operation 436, the user may select a new3D object from the library, such as the library 320 discussed in FIG.3A. As method 400 moves to operation 438, the new 3D object may besuperimposed in the 2D environment to replace the previous 3D objectpresent in the 2D environment. The insertion of the new object toreplace the prior object may be an automatic replacement which occursafter selection of the object from the library.

If the user decides to move or rotate the 3D object in the 2Denvironment as opposed to replacing the object, then the method 400moves to operation 422. At operation 422, if the user may move theselected 3D object in a horizontal manner along an x-axis or in avertical manner along a y-axis, or a combination of both horizontal andvertical manner, or rotational manner. At operation 424, after movingand rotating the 3D object, the user be further desire to replace the 3Dobject. The method then returns to operation 432.

FIG. 5 illustrates four images, image A, image B, image C and image D.All the four images represent a 2D environment 500. The 2D environment500 includes a ground plane 506, a top plane 508, a wall plane 512 and awall plane 514. Between image A and image B, one of the images has scaleand perspective added and the other does not. As shown in FIG. 5, imageB is configured to include an indicator icon 520 at the top rightcorner. The indicator icon 520 helps the user identify image B as theimage to which scale and perspective has been added. The visualizingmodule may be configured to determine the presence of scale data andperspective data added to the two-dimensional image.

The indicator icon 520 in image B of FIG. 5 is in the shape of adiamond. In other embodiments, the indicator icon 520 may be representedby another shape such as a circle or a square or an oval. In furtherembodiments, the indicator icon 520 may include a letter or a number ora logo. Still further, in some embodiments, the icon 520 may be awatermark. The watermarking of a digital image may include a digitalsignature, a user identifier such as user initials, or similar valuethat can sufficiently identify the image from other similar images. Suchwatermarking may allow the user to quickly identify images to which data(scale and perspective) has been added.

The 2D environment 500 in image C may include an object such as a couch516. Similarly, the 2D environment 500 in image D may also include acouch 518. The couch 516 in image C, may be part of the 2D environment500, while the couch 518 in image D, may be 3D model of an objectsuperimposed onto the 2D environment 500. As shown in FIG. 5, image Dmay include an icon 522, identifying image D as the image to which scaleand perspective, and a 3D model of an object, such as the couch 518, hasbeen added. The icon 522, as shown in image D is in the shape of adiamond including a dashed line. As described above for the indicatoricon 520, the icon 522 may configured to be of different shapes andsizes, may include a letter or a pattern such as the dashed line in thisexample, may include a shaded region, and such others. In someembodiments, the icon 522 may include a digital signature or a watermarkor a logo and such other identification so that the user may be able todistinguish between an image of the 2D environment from the image of a2D environment where scale and perspective and 3D models of objects havebeen added.

Further, FIG. 5 illustrates the indicator icon 520 and the icon 522 atthe top right corner. In other embodiments, the icon may be located atother locations within the image such as a top left corner, a bottomright corner, and a bottom left corner, or along one of the four sidesof the image. In still further embodiments, the icon may include awatermark running across the length of the image in a vertical manner,or a horizontal manner, or a diagonal manner.

Moving now to FIGS. 6A, 6B, 6C, 6D and 6E illustrate another example ofa 2D environment, 600. In this example the 2D environment 600, mayinclude any digital image such as a photograph or live camera feed,captured by the user or downloaded from a library coupled to the enginefor visualization of 3D models of objects in 2D environment 600, onlineresources such as networking websites, and so forth.

Further, FIG. 6A may include a menu bar 650 on the display screen. Themenu bar 650 may aid the user to access various functions forcustomizing the 2D environment. In the example menu bar 650 shown inFIG. 6A, there is a first virtual button 652, a second virtual button654, a third virtual button 656, a fourth virtual button 658, a fifthvirtual button 660 and a sixth virtual button 662 presented along themenu bar 650. The first virtual button 652, which is labeled “LiveMode,” may be selected by the user 120 to visualize a 2D environmentwith any of the user devices 130, discussed above. The “Live Mode”button allows the user 120 to switch between edit mode (where objectsmay be moved, edited and so forth) and a “live” mode where the endresult is displayed.

The second virtual button 654, which is labeled “Create Walls,” may beselected by the user 120 to form walls within the 2D environment. Thethird virtual button 656, which is labeled “Add Products,” may beselected by the user 120 to add 3D objects to the 2D environment 600.These 3D objects may be obtained by the user 120 from the network 202 orfrom the web applications, such as social networking services, 204. Inone example, the user may select one or more 3D objects from a catalogof 3D objects from multiple vendors and 3D object sources to display inthe 2D environment.

The user may access the library by clicking on or selecting the AddProducts button, third virtual button 656, on the menu bar 650. The usermay use one or more of the input devices of user devices 130 to accessthe Add Products button, third virtual button 656. The additionallyselected 3D object may then be superimposed on the 2D environment 600.

The fourth virtual button 658 labeled “Undo,” may be selected by theuser 120 to undo a prior modification of the selected 3D objects, or amost recent selection of the 3D object. For example, if the user 120 isnot satisfied with the positioning of the 3D object, the user may undothe addition or superimposing of the 3D object onto the 2D environment600. The fifth virtual button 660, which is labeled “Redo,” may beselected by the user 120 to redo a movement of the 3D object that wasrecently performed. For example, the user 120 may decide to move a 3Dobject superimposed on the 2D environment horizontally. The user mayfurther decide to move the 3D object, in which case the user may selectthe fifth virtual button 660 to “Redo” the horizontal move to repeat theprevious move.

The sixth virtual button 662, which is labeled “View Settings,” may beselected by the user 120 to review the settings of the 2D environment,in this example, 2D environment 600. For instance, the user 120 may notbe satisfied with the brightness of the 2D environment 600 and hencewould prefer to adjust the brightness, or the user 120 may not besatisfied with the color contrast of the room and would prefer to adjustthe contrast settings. Additionally, the View Settings button, sixthvirtual button 662, may provide the option of direction via a compass ora north pointing directional arrow. This may aid the user 120 in placing3D objects in a particular preferred direction. Several users may havedirectional preference for placing of objects with respect to objectmaterial type and color and the directional aspect is hence very usefulfor such purposes.

FIGS. 6A-6D also includes a virtual icon button 664 for “My SpaceView”and a virtual icon button 668 for “Favorites”. With the aid of thevirtual icon button 668 for “Favorites”, the user may save favorite 3Dmodels of objects for later use. For example, the user may position achair near a dining table and may be highly satisfied with theplacement. At this point, the user may decide to save the chair under“Favorites” for later use. At a later time, the user may decide to addmore such chairs around the dining table. The user may do so byselecting the virtual icon button 668 for “Favorites” and quickly accessthe chair of choice.

In the example demonstrated in FIGS. 6A-6C, a chair 690 has beenselected and superimposed onto the environment 600. In FIG. 6A, thelighter shade of the chair 690 indicates that the user is still in theprocess of positioning the chair 690. While being positioned by theuser, the 3D model of the object may look transparent or faint or lightin color. Further, in some examples, the floor or relevant plane may beindicated as a placement plane through highlighting or other indicator.In FIG. 6B, the user successfully positioned the chair 690 in theenvironment 600.

In FIG. 6C, the user may decide to select the chair 690 to be replaced.The darker shade and the outer boundary color for the chair 690corresponds to the user's selection for replacement. Selection of the 3Dmodel of the object may include a different boundary color, or a darkershade for the 3D model selected. In some embodiments selection of the 3Dmodel may include a glow, or increased radiance, or increased brightnessaround the 3D model of the object. In further embodiments, the selected3D objects may be surrounded or encircled by a shaded area. The shadedarea may be the same color as the 3D model of the object selected or ofa different color.

Moving to FIG. 6D, the chair 690 is shown to be removed from the 2Denvironment and replaced with a chair 692. The dark shade and outerboundary color of the chair 692 corresponds to the user's selection ofthe chair 692. In the example illustrated, the chair 690 in FIG. 6C andthe chair 692 in FIG. 6D include a red shaded area corresponding to theuser's selection of the chair 690 to be replaced with the chair 692.

Furthermore, the user 120 may save and share screenshots of the 3Dobject positioned in the 2D environment 600. The user may further haveaccess to another menu bar 640. The menu bar 640 may be displayed byclicking on a virtual icon arrow 648, displayed at the top right cornerin FIG. 6A. The menu bar 640 provides the user with the option to obtainhelp with a “Help” virtual icon button 642, or share the current imagewith a “Share” virtual icon button 644. The user may decide to obtainhelp or input from contacts in social networking groups in the webapplication 204 by sharing images of the 2D environment 600 with thesuperimposed 3D object. Further, the user may be satisfied with theplacement of the 3D object in the 2D environment and may then select avirtual icon button 646 to indicate “Done” or completion. As illustratedin FIG. 6E, the user selection of the chair 692 has been completed andfinalized for the room environment 600.

FIG. 7A illustrates a 2D environment 800. The environment 800 mayinclude a couch 802, a viewer 803, one or more smart objects, (e.g. Afirst smart object 811, a first smart object controller 807, a secondsmart object 804, a first knob 805 and a second knob 806 on the secondsmart object 804). The environment 800 may further include a first setof sound waves 812A and a second set of sound waves 812B from the firstsmart object 810. Similarly, the environment 800 may also include afirst set of waveform 808A and a second set of waveform 808B emanatingfrom the second smart object 804.

In some examples, one or more objects may be part of the 2D environment,such as couch 802. In other examples, the objects may be selectivepositioned in the room as replaceable 3D object.

Smart objects may be any device with playback animation. The playbackanimation may be live playback, such as video playback or may, in someexamples, be representative playback. For example, the playbackanimation may be audio or visual display, such as video, or an audio orvisual schematic representation. Examples of video playback smartobjects may be a television, a computer, a stereo screen, a controlpanel, etc. Audio playback smart objects may include speakers, radios,noise cancelling devices, etc. Environment playback smart objects may belighting devices, security devices, climate control devices, etc.

In the example illustrated in FIG. 7A, a first smart object 810 isillustrated as a television (TV) screen and the second smart object 804is illustrated as a stereo system. In other examples, the first smartobject or the second smart object may include other objects which may bea source of audio transmission and visual display, such as a smartphone, or a tablet PC. Further examples may include other technologydevices that may provide audio-visual information, internet or mediainformation and so forth.

As illustrated, the television may be adjusted to the selected wallplane as indicated schematically at first smart object 810. A user mayadjust a position of an object, such as display 810, onto another wallsurface, such as illustrated in FIGS. 7B and 7C.

FIG. 7B illustrates a user requesting a move of first smart object 810.The user may request movement of smart object 810 using finger icon 820or other suitable indicator. The user may drag first smart object 810 inthe direction of the arrow to another wall surface.

FIG. 7C illustrates the changing of the perspective and scale of firstsmart object 810 to match the perspective and scale of the other wallsurface. Further, the video or other playback animation may be displayedto match the perspective and scale of the wall surface as illustrated.In this example, the perspective of first smart object 810 is based achange in the viewing angle of first smart object 810. In order toproperly display both first smart object 810 and the video and playbackanimation in the proper perspective, the visualization module may adjustfirst smart object 810 and the video and/or playback animation displaywithin to account for such optical factors as parallax, changes in theangle and quantity of incident light, and other optical effects that mayaffect viewing of the first smart object 810 and the video and/orplayback animation due to the movement of first smart object 810 within2D environment 800. In some embodiments, the visualization module mayalso include properties of the first smart object 810, such as thereflectivity of the materials of the first smart object, geometry of thefirst smart object, the presence of anti-reflective coating over ascreen surface, or any other property encoded in the metadata comprisingthe object information data.

In another embodiment, the visualization module may include acousticaleffects based upon the change of location of first smart object 810within 2D environment 800. In this specific example, the visualizationmodule may determine the change in relationship between the point ofview of the user and the location of first smart object 810. Based uponthe change in relationship, the visualization module may provide theuser with an audible signal, such as a test tone, audio clip, or otheraudibly registered signal, which may allow the user to audibly assessthe change of position of first smart object 810 within 2D environment800. In some embodiments, the visualization module may include the scaledata and perspective data of the 2D environment 800 to adjust theaudible signal for the acoustic properties of the 2D environment 800 aswell as the change in location of the first smart object 810.

As discussed above, video or other playback animation may be displayedin accordance with a room position. Similarly, schematic representationof audio or visual output may be shown based on location. As anillustrative example, FIG. 7A illustrates the first set of sound waves812A and the second set of sound waves 812B radiating from the smartobject 810. This illustration of sound waves may allow the user tovisualize the extent to which the sound transmission from the smartobject 810 may be heard. Such sound wave illustration may allow the userto superimpose additional 3D models of object onto the 2D environment.For example, if the user prefers to add a second couch to the 2Denvironment 800, the user may use the sound waves as a guide to positionthe second couch, so that a viewer on the second couch may enjoy theaudio transmission from the first smart object 810.

Moving now to the second smart object 804. In the example illustrated,the second smart object 804 may be a stereo system which may include thefirst knob 805, which may be configured to control the sound volume andthe second knob 806 may be configured to control the bass of the soundemanating from the stereo. In other embodiments, the first knob 805 andthe second knob may be configured to control sound frequency or soundamplification or such other sound control features. As discussed abovefor the first smart object 810, the second smart object 804 may includethe first set of waveform 808A and the second set of waveform 808B,representing the extent of sound waves emanating from the second smartobject 804. The extent of the first set of waveform 808A and the secondset of waveform 808B, may allow the user to understand the extent towhich the sound emanating from the second smart object may be heard.This may allow the user in superimposing additional 3D model such as acouch or a chair or a recliner onto the 2D environment 800, such that alistener, listening to the sound from the second smart object 804 may bepositioned appropriately.

FIG. 8 shows an example electronic form of a computer system 700, withinwhich a set of instructions for causing a machine to perform any one ormore of the methodologies discussed herein may be executed. The machinemay be a PC, a tablet PC, a set-top box (STB), a PDA, a cellulartelephone, a web appliance, a network router, switch or bridge, or anymachine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. In severalexample embodiments, the machine operates as a standalone device or maybe connected to other machines (e.g., networked). In a networkeddisposition, the machine may operate in the capacity of a server or aclient machine in a server-client network environment.

The example computer system 700 may be configured to include a processoror multiple processors 702 (e.g., a central processing unit (CPU), agraphics processing unit (GPU), or both), a main memory 704 and a staticmemory 706, which communicate with each other via a bus 708. Thecomputer system 700 may further include a video display unit 710 (e.g.,a liquid crystal display (LCD) or a cathode ray tube (CRT), and thelike). The computer system 700 may also include an alphanumeric inputdevice 712 (e.g., a keyboard, and the like), a cursor control device 714(e.g., a mouse, touchpad, touchscreen, and the like), a disk drive unit716 for reading computer readable medium (e.g., USB thumb drive, solidstate memory drives, and the like), a signal generation device 718(e.g., a speaker, and the like (e.g., network interface card, and thelike), and a network interface device 720.

Further, the disk drive unit 716 may include a computer-readable medium722, on which is stored one or more sets of instructions and datastructures (such as instructions 724) embodying or utilized by any oneor more of the methodologies or functions described herein.Additionally, the instructions 724 may also reside, completely orpartially, within the main memory 704 and/or within the processors 702during execution by the computer system 700. The main memory 704 and theprocessors 702 may also constitute machine-readable media. Furtherstill, the instructions 724 may be transmitted or received over anetwork 726 via the network interface device 720 utilizing any one of anumber of well-known transfer protocols (e.g., Hyper Text TransferProtocol (HTTP)).

The computer-readable medium 722 may include a single medium or multiplemedia (e.g., a centralized or distributed database and/or associatedcaches and servers) that store the one or more sets of instructions. Theterm “computer-readable medium” may further include any medium that iscapable of storing, encoding, or carrying a set of instructions forexecution by the machine and that causes the machine to perform any oneor more of the methodologies of the present application, or that iscapable of storing, encoding, or carrying data structures utilized by orassociated with such a set of instructions. Further, “computer-readablemedium” may further include, but not be limited to, solid-statememories, optical and magnetic media, and carrier wave signals. Suchmedia may also include, without limitation, hard disks, floppy disks,flash memory cards, digital video disks, random access memory (RAM),read only memory (ROM), and the like.

It will be appreciated that the configurations and routines disclosedherein are exemplary in nature, and that these specific embodiments arenot to be considered in a limiting sense, because numerous variationsare possible. For example, the above technology can be applied tovarious 3D objects superimposed on various 2D environments. The subjectmatter of the present disclosure includes all novel and non-obviouscombinations and sub-combinations of the various systems andconfigurations, and other features, functions, and/or propertiesdisclosed herein.

The above-disclosed embodiments may be combined with one or more of theembodiments and disclosures in U.S. Provisional Patent Application No.61/992,629 entitled “METHOD FOR PROVIDING SCALE TO ALIGN 3D OBJECTS IN2D ENVIRONMENT” filed May 13, 2014, one or more of the embodiments anddisclosures in U.S. Provisional Patent Application No. 61/992,759entitled “METHOD FOR FORMING WALLS TO ALIGN 3D OBJECTS IN 2DENVIRONMENT”, filed on May 13, 2014, one or more of the embodiments anddisclosures in U.S. Provisional Patent Application No. 61/992,719entitled “METHOD FOR PROVIDING A PROJECTION TO ALIGN 3D OBJECTS IN 2DENVIRONMENT”, filed May 13, 2014, one or more of the embodiments anddisclosures in U.S. Provisional Patent Application No. 61/992,774entitled “METHOD FOR MOVING AND ALIGNING 3D OBJECTS IN A PLANE WITHINTHE 2D ENVIRONMENT”, filed May 13, 2014, and/or one or more of theembodiments and disclosures in U.S. Provisional Patent Application61/992,665 entitled “METHOD FOR INTERACTIVE CATALOG FOR 3D OBJECTSWITHIN THE 2D ENVIRONMENT”, filed May 13, 2014. The entire contents ofeach provisional application referenced herein are hereby incorporatedby reference for all purposes. For example, and not as a limitation, theembodiments herein may be combined with the elements and featuresdisclosed in Provisional Application No. 61/992,629, the embodimentsherein may be combined with the elements and features disclosed inProvisional Application No. 61/992,759, in combination with one or moreof the elements and features disclosed in Provisional Application No.61/992,719, in combination with one or more of the elements and featuresdisclosed in Provisional Application No. 61/992,774, and/or incombination with one or more of the elements and features disclosed inProvisional Application 61/992,665. These combinations may include oneor more features disclosed in one or more of the referenced provisionalapplications, including combinations of embodiments disclosed hereinwith features shown in one, two, three, four, or five of the provisionalapplications.

Further, the entire contents of each concurrently filed application,U.S. Non-Provisional patent application Ser. No. 14/710,554 entitled“METHOD FOR PROVIDING SCALE TO ALIGN 3D OBJECTS IN 2D ENVIRONMENT” filedMay 12, 2015, U.S. Non-Provisional patent application Ser. No.14/710,557 entitled “METHOD FOR FORMING WALLS TO ALIGN 3D OBJECTS IN 2DENVIRONMENT”, filed on May 12, 2015, U.S. Non-Provisional patentapplication Ser. No. 14/710,560 entitled “METHOD FOR PROVIDING APROJECTION TO ALIGN 3D OBJECTS IN 2D ENVIRONMENT”, filed May 12, 2015,U.S. Non-Provisional patent application Ser. No. 14/710,561 entitled“METHOD FOR MOVING AND ALIGNING 3D OBJECTS IN A PLANE WITHIN THE 2DENVIRONMENT”, filed May 12, 2015, and/or U.S. Non-Provisional patentapplication Ser. No. 14/710,569 entitled “METHOD FOR INTERACTIVE CATALOGFOR 3D OBJECTS WITHIN THE 2D ENVIRONMENT”, filed May 12, 2015, arereferenced herein are hereby incorporated by reference for all purposes.

The foregoing description is illustrative of particular embodiments ofthe invention, but is not meant to be a limitation upon the practicethereof.

The foregoing discussion should be understood as illustrative and shouldnot be considered limiting in any sense. While the inventions have beenparticularly shown and described with references to preferredembodiments thereof, it will be understood by those skilled in the artthat various changes in form and details may be made therein withoutdeparting from the spirit and scope of the inventions as defined by theclaims.

The corresponding structures, materials, acts and equivalents of allmeans or steps plus function elements in the claims below are intendedto include any structure, material or acts for performing the functionsin combination with other claimed elements as specifically claimed.

Finally, it will be understood that the articles, systems, and methodsdescribed hereinabove are embodiments of this disclosure—non-limitingexamples for which numerous variations and extensions are contemplatedas well. Accordingly, this disclosure includes all novel and non-obviouscombinations and sub-combinations of the articles, systems, and methodsdisclosed herein, as well as any and all equivalents thereof.

The invention claimed is:
 1. A method for visualizing athree-dimensional model of an object in a two-dimensional environment,the method comprising: receiving, with a processor, from a user, asuperimposing request to superimpose the three-dimensional model of theobject onto the two-dimensional environment; superimposing, with theprocessor, the three-dimensional model of the object onto thetwo-dimensional environment based on the superimposing request with ascale and a perspective based on the two-dimensional environment, wherethe three-dimensional model of the object includes a playback animation;visualizing, via a video display unit communicatively coupled to theprocessor, a resulting image including the three-dimensional model ofthe object superimposed onto the two-dimensional environment, whereinthe playback animation of the three-dimensional model of the objectincludes an audio display adjusted based on a position of thethree-dimensional model of the object within the two-dimensionalenvironment and based on acoustic properties of the two-dimensionalenvironment, and wherein the playback animation of the three-dimensionalmodel of the object is displayed with a scale and a perspective based onthe scale and the perspective of the three-dimensional model of theobject and a position of the three-dimensional model of the objectwithin the two-dimensional environment; and adjusting, with theprocessor, a visual appearance of the three-dimensional model of theobject when the three-dimensional model of the object is selected by theuser for modification.
 2. The method of claim 1, wherein adjusting thevisual appearance of the three-dimensional model of the object when thethree-dimensional model of the object is selected by the user formodification comprises increasing or decreasing a shading of thethree-dimensional model of the object when the three-dimensional modelof the object is selected by the user for one of positioning in thetwo-dimensional environment and replacing with another three-dimensionalmodel.
 3. The method of claim 1, wherein adjusting the visual appearanceof the three-dimensional model of the object when the three-dimensionalmodel of the object is selected by the user for modification comprisesvisualizing an outer boundary color on an outer boundary of thethree-dimensional model of the object.
 4. The method of claim 1, furthercomprising generating, with the processor, and providing, via a signalgeneration device communicatively coupled to the processor, an audibletone based on the position of the three-dimensional model of the objectwithin the two-dimensional environment.
 5. The method of claim 4,further comprising adjusting the audible tone based on the scale and theperspective of the two-dimensional environment.
 6. The method of claim4, further comprising: receiving, with the processor, from the user, anupdated position of the three-dimensional model of the object within thetwo-dimensional environment; visualizing, with the processor, an updatedresulting image including the three-dimensional model of the objectsuperimposed onto the two-dimensional environment at the updatedposition; and adjusting, with the processor, the audible tone accordingto a change in relationship between a point of view of the user and theupdated position of the three-dimensional model of the object.
 7. Themethod of claim 4, further comprising adjusting, with the processor, theaudible tone to account for acoustic properties of the two-dimensionalenvironment.
 8. The method of claim 1, further comprising visualizing,via the video display unit, a set of sound waves emanating from thethree-dimensional model of the object based on the position of thethree-dimensional model of the object within the two-dimensionalenvironment.
 9. The method of claim 1, further comprising visualizing,with the processor, an indicator on the two-dimensional environment, theindicator indicating that the scale and the perspective of thetwo-dimensional environment is added to the two-dimensional environment.10. A system for visualization of a three-dimensional model of an objectin a two-dimensional environment, the system comprising: a processor;and a storage device, the storage device containing instructionsexecutable by the processor comprising: a receiving module configured toreceive one or more requests from a user, the requests including one ormore of an import request, a scale data request, a superimposingrequest, and a request to save a resulting image; an importing moduleconfigured to import, based on the import request of the user, thetwo-dimensional environment; a superimposing module configured tosuperimpose, based on the superimposing request, the three-dimensionalmodel of the object onto the two-dimensional environment with a scaleand a perspective based on the two-dimensional environment; avisualizing module configured to display playback animation of thethree-dimensional model of the object, wherein the playback animation ofthe three-dimensional model of the object includes an audio display anda visual display of the object, wherein a scale and a perspective forthe visual display of the playback animation is based on a position ofthe three-dimensional model of the object in the two-dimensionalenvironment, the visualizing module further configured to adjust avisual appearance of the three-dimensional model of the object for thevisual display when the three-dimensional model of the object isselected by the user for modification, and the visualizing module isfurther configured to adjust the audio display based on acousticproperties of the two-dimensional environment; and a saving moduleconfigured to save the resulting image, based on the request to save theresulting image, wherein the resulting image includes thethree-dimensional model of the object superimposed onto thetwo-dimensional environment.
 11. The system of claim 10, wherein thevisualizing module is further configured to visualize an indicator onthe two-dimensional environment indicating that the scale and theperspective of the two-dimensional environment is added to thetwo-dimensional environment.
 12. The system of claim 10, wherein thevisualizing module is configured to display the playback animation ofthe object on a surface of the three-dimensional model of the object.13. The system of claim 10, wherein the visualizing module is configuredto display the playback animation of the object away from thethree-dimensional model of the object.
 14. The system of claim 10,wherein the storage device further contains instructions executable bythe processor comprising a moving module configured to move the positionof the three-dimensional model of the object from a first position to asecond position.
 15. The system of claim 14, wherein the visualizingmodule is configured to adjust the visual appearance of thethree-dimensional model of the object when the three-dimensional modelof the object is selected by the user for moving, with the movingmodule, the position of the three-dimensional model of the object.
 16. Asystem for visualization of a three-dimensional model of an object in atwo-dimensional environment, the system comprising: a processor; and astorage device, the storage device containing instructions executable bythe processor comprising: a receiving module configured to receive oneor more requests from a user, the requests including one or more of animport request, a scale data request, a superimposing request, areplacement request, and a request to save a resulting image; animporting module configured to import, based on the import request ofthe user, the two-dimensional environment; a superimposing moduleconfigured to superimpose, based on the superimposing request, thethree-dimensional model of the object onto the two-dimensionalenvironment with a scale and a perspective based on the two-dimensionalenvironment; a replacement module configured to remove, based on thereplacement request, the three-dimensional model of the object andsuperimpose a second three-dimensional model of a second object at asame position as the first three-dimensional model within thetwo-dimensional environment; a visualizing module configured to displaya playback animation of the three-dimensional model of the objectwherein a scale and a perspective of the playback animation is based ona position of the three-dimensional model of the object in thetwo-dimensional environment, the visualizing module further configuredto adjust a visual appearance of the three-dimensional model of theobject when the three-dimensional model of the object is selected by theuser for modification and generate an audible tone, wherein the audibletone is adjusted based on the position of the three-dimensional model ofthe object within the two-dimensional environment and based on acousticproperties of the two-dimensional environment; a saving moduleconfigured to save the resulting image, based on the request to save theresulting image, wherein the resulting image includes thethree-dimensional model of the object superimposed onto thetwo-dimensional environment; an uploading module configured to uploadthe resulting image to a social network; and a purchasing moduleconfigured to receive a purchasing request for the object.
 17. Thesystem of claim 16, wherein the visualizing module is further configuredto adjust the audible tone based on the scale and the perspective of thetwo-dimensional environment.
 18. The system of claim 17, wherein thereceiving module is further configured to receive an updated position ofthe three-dimensional model of the object within the two-dimensionalenvironment, and wherein the visualizing module is further configured tovisualize an updated resulting image including the three-dimensionalmodel of the object superimposed onto the two-dimensional environment atthe updated position, and adjust the audible tone according to a changein relationship between a point of view of the user and the updatedposition of the three-dimensional model of the object.
 19. The system ofclaim 16, wherein the visualizing module is configured to increase ordecrease a shading of the three-dimensional model of the object when thethree-dimensional model of the object is selected by the user for one ofpositioning in the two-dimensional environment and replacing withanother three-dimensional model.
 20. The system of claim 16, wherein thevisualizing module is configured to visualize an outer boundary color onan outer boundary of the three-dimensional model of the object when thethree-dimensional model of the object is selected by the user formodification.